package regra;

import java.util.Date;
import java.util.List;

import org.joda.time.DateTime;
import org.joda.time.Days;

import basicas.Compra;
import basicas.Status;

import util.Datas;
import dao.DAOCompra;
import dao.IDAOCompra;

public class RNCompra implements IRNCompra{
	
	IDAOCompra dao = new DAOCompra();
	
	@Override
	public boolean isValido(Compra c){
		DateTime inicio = new DateTime(Datas.obterAno(c.getDataCompra()),Datas.obterMes(c.getDataCompra()), Datas.obterDia(c.getDataCompra()), 12,0);
		Date dtHoje = new Date();
		DateTime hoje = new DateTime(Datas.obterAno(dtHoje),Datas.obterMes(dtHoje), Datas.obterDia(dtHoje), 12,0);
		
		if(Days.daysBetween(inicio, hoje).getDays()>180){
			return false;
		}
		if(c.getStatus()==Status.PENDENTE){
			return false;
		}
		return true;
		
	}
	
	@Override
	public void inserir(Compra c){
		dao.inserir(c);
	}
	
	@Override
	public void excluir(Compra c){
		dao.remover(c);
	}
	
	@Override
	public Compra consultarPorId(Integer id){
		return dao.consultarPorId(id);
	}
	
	@Override
	public List<Compra> consultarTodos(){
		return dao.consultarTodos();
	}	
	
	@Override
	public void alterar(Compra c){
		dao.alterar(c);
	}

}
